package cn.getech.data.development.model.dto;

import cn.getech.data.development.entity.AlarmObject;
import cn.getech.data.development.entity.AlarmReceived;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@ApiModel
public class AlarmSaveDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("记录id")
    private Integer id;

    @ApiModelProperty("告警名称")
    private String name;

    @ApiModelProperty("告警对象类型,1:作业流")
    private Integer objectType;

    @ApiModelProperty("告警对象集合")
    private List<AlarmObject> alarmObjects;

    @ApiModelProperty("触发条件 1:成功，0：失败")
    private Integer triggerCondition;

    @ApiModelProperty("免打扰时间，开始")
    private String noDisturbingStartTime;

    @ApiModelProperty("免打扰时间，结束")
    private String noDisturbingEntTime;

    @ApiModelProperty("告警方式，1：邮件，2：T信，3：电话，4：短信")
    private List<Integer> alarmModes;

    @ApiModelProperty("接收人类型，1：部门，2：项目，3：本人")
    private Integer receivedType;

    @ApiModelProperty("告警状态，1：启用，0：禁用")
    private Integer state;

    @ApiModelProperty("最大告警次数（不传则默认3次）")
    private Integer maxAlarmCount;

    @ApiModelProperty("最小告警间隔(min)，不传则默认30分钟")
    private Integer minAlarmInterval;

    @ApiModelProperty("重试发送次数，1，发送一次 2，每次重试都发送")
    private Integer failStatus;

    @ApiModelProperty("接收人集合")
    List<AlarmReceived> receivedList;
}
